<?php


namespace app\common\model\mysql;


use think\Model;

class User extends Model
{
    /**
     * 自动生成写入时间
     * @var bool
     */
    protected $autoWriteTimestamp = true;
    /**
     *根据手机号码获取用户信息
     * @param $phoneNumber
     * @return array|false|mixed
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundException
     */
    public function getUserByPhoneNumber($phoneNumber){
        if(empty($phoneNumber)){
            return false;
        }
        $where = [
            "phone_number" => trim($phoneNumber)
        ];
        $result = $this->where($where)->find();
        return $result;
    }

    /**
     * 通过id获取用户数据
     * @param $id
     * @return array|false|mixed
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundException
     */
    public function getUserById($id){
        $id = intval($id);
        if(!$id){
            return false;
        }
        return $this->find($id);
    }

    /**
     * 根据用户名获取用户信息
     * @param $username
     * @return array|false|mixed
     * @throws \think\db\exception\DataNotFoundException
     * @throws \think\db\exception\DbException
     * @throws \think\db\exception\ModelNotFoundException
     */
    public function getUserByUsername($username){
        if(empty($username)){
            return false;
        }
        $where = [
            "username" => trim($username)
        ];
        $result = $this->where($where)->find();
        return $result;
    }

    /**
     * 根据主键ID更行后台登录表数据
     * @param $id
     * @param $data
     * @return bool
     */
    public function updateById($id, $data){
        $id = intval($id);
        if(empty($id) || empty($data) || !is_array($data)){
            return false;
        }
        $where = [
            "id" => $id
        ];
        return $this->where($where)->save($data);
    }
}